package com.yw.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yw.directory.domain.Directory;
import com.yw.directory.dto.ChildDTO;
import com.yw.directory.vo.DirectoryVO;


import java.util.List;

/**
 * @author taj
 * @version 1.0
 */
public interface DirectoryService extends IService<Directory> {

    /**
     * 根据目录id得到对应的目录信息
     * @param id
     * @return
     */
    DirectoryVO getContents(Integer id);

    /**
     * 新增一级目录
     * @param name
     * @return
     */
    Boolean addTop(String name);

    /**
     * 新增下一级目录
     * @param directory
     * @return
     */
    Boolean addChild(Directory directory);

    /**
     * 修改目录名称
     * @param directory
     * @return
     */
    Boolean updateChild(Directory directory);

    /**
     * 删除叶子节点
     * @param id
     * @return
     */
    Boolean delChild(Integer id);

    /**
     * 根据父级id获取所有叶子节点
     * @param id
     * @return
     */
    List<ChildDTO> getChildList(Integer id, String path);

    /**
     * 根据叶子目录获取所有路径
     * @param calagueId
     * @return
     */
    String getPathById(Integer calagueId);
}

